# 反爬校验类
import time

from selenium.webdriver import ActionChains


class Get404():
    script:"" # 反爬判断脚本 需要返回0/1 返回0代表没有反爬 返回1代表有反爬措施

    selector:"" # 选择器
    def __init__(self):
        self.selector=".nc_wrapper"
        pass

    # 处理反爬的回调函数
    def handle(self,driver):
            # 先判断 网页是否存在校验
            nc = driver.execute_script(f"return document.querySelector(\"{self.selector}\")?1:0")
            print("是否存在滑动校验", nc)
            if nc == 1:  # 存在滑动校验
                time.sleep(2)  # 睡眠2秒
                print("判断点 - 0")
                # 定位滑块元素
                slider = driver.find_element_by_css_selector(self.selector)
                print("判断点 - 1")
                # 创建ActionChains对象并执行滑动操作
                action = ActionChains(driver)
                action.click_and_hold(slider).perform()  # 按住元素
                print("判断点 - 2")
                action.move_to_element_with_offset(slider, 460, 0).perform()  # 将鼠标移动到元素中心
                # action.release().perform()  # 放开元素
                print("判断点 - 3")
                # 睡眠1秒
                time.sleep(1)